import random
import hashlib



# 生成随机IP
def randomIp():
    randomIP=[]
    for i in range(0,20000):
        m = random.randint(0, 255)
        n = random.randint(0, 255)
        x = random.randint(0, 255)
        y = random.randint(0, 255)
        randomIP.append(str(m) +"."+str(n) +"."+str(x) +"."+str(y))
    return randomIP

# 去重
def removeRep(randomIP):
    NrandomIP =list(set(randomIP))
    return NrandomIP
#Ip转10进制
def string_to_10(string):
    ### ---xxx--- 表示该步骤得出的结果IP = '192.168.96.94'
    list1 = string.split('.')
    list2 = []
    for item in list1:
        item = bin(int(item))
        item = item[2:]
        # 将IP地址地址的每个字段转换成八位，不足的在每段前补0.
        list2.append(item.zfill(8))
    v2 = ''.join(list2)
    v3 = int(v2, base=2)
    return v3


if __name__ == "__main__":
    randomIP=randomIp()
    list=removeRep(randomIP)
    # 将要输出保存的文件地址，若文件不存在，则会自动创建
    fwDecode = open("IP1Decode.txt", 'w')
    # 这里平时print("test")换成下面这行，就可以输出到文本中了
    for data in list:
        fwDecode.write(str(data)+'\n')
    fwDecode.close()
    # 将要输出保存的文件地址，若文件不存在，则会自动创建
    fwEncode = open("IP1Encode.txt", 'w')
    # 这里平时print("test")换成下面这行，就可以输出到文本中了
    for data in list:
        fwEncode.write(str(string_to_10(data))+'\n')
    fwEncode.close()